# 实行步骤：
# 1.打开网站
# 2.从名单txt里依次输入到网站的姓名和学号，然后点击查询
# 3.成绩页面按顺序把各科名字和成绩保存到列表里
# 4.查完当前成绩后点击返回，进行下一个姓名和学号的输入
# 5.重复第3步
# 6.截至到名单最后一名


from selenium import webdriver
import requests
import time,os,csv
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait


# 1.打开网站
bro = webdriver.Chrome(executable_path='./chromedriver.exe')
# bro.get('https://921503.yichafen.com/public/queryscore/sqcode/MsTcInymODIwMXw4MmQ0YWExMTBkMGEzZjgyMDdlNjFiN2EwOTZlMTEzZnw5MjE1MDMO0O0O.html')



# 2.从名单txt里依次输入到网站的姓名和学号，然后点击查询


titlebar =('姓名 考号 语文 名次 上次名次 数学 名次 上次名次 英语 名次 上次名次 物理 名次 上次名次 历史 名次 上次名次 德法 名次 上次名次 地理 名次 上次名次 生物 名次 上次名次 体育 名次 上次名次 期末总分 年级排名 本次进退 上次进退').split(' ')

with open("achievement.csv", "w",newline='') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(titlebar)
#
# with open("achievement.csv", "w") as csvfile:
#     writer = csv.writer(csvfile)


    with open("source.txt", encoding="utf-8") as f:
         for line in f.read().split("\n"):
            name, number = line.split("	")
            bro.get('https://921503.yichafen.com/public/queryscore/sqcode/MsTcInymODIwMXw4MmQ0YWExMTBkMGEzZjgyMDdlNjFiN2EwOTZlMTEzZnw5MjE1MDMO0O0O.html')
            #输入姓名、学号
            bro.find_element_by_xpath('//*[@id="queryForm"]/table/tbody/tr[1]/td[2]/input').send_keys(name)
            bro.find_element_by_xpath('//*[@id="queryForm"]/table/tbody/tr[2]/td[2]/input').send_keys(number)
            # time.sleep(0.5)
            bro.find_element_by_id('yiDunSubmitBtn').click()
            #等待页面加载
            locator =(By.XPATH,'//*[@id="result_content"]/div[4]')
            WebDriverWait(bro,10).until(EC.presence_of_element_located(locator))
            #查询并录入成绩
            titlebar = bro.find_element_by_xpath('//*[@id="result_content"]/div[2]/table/tbody/tr[1]')
            achievement= bro.find_element_by_xpath('//*[@id="result_content"]/div[2]/table/tbody/tr[2]')
            ach_list = achievement.text.split( )
            writer.writerow(ach_list)
            print(name+'录入成功....进行下一组录入')
            # time.sleep(1)

writer.close()




            # bro.find_element_by_xpath('//*[@id="result_content"]/div[3]/a').click()
            # time.sleep(2)


print ('查询结束！！')
